package com.tlias.coutroller;

import com.tlias.entity.Result;
import com.tlias.utils.AliyunOSSUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

@RestController
public class UploadController {
    private static final Logger log = LoggerFactory.getLogger(DeptController.class);
    /*
     * 文件上传
     * @param username 用户名
     * @param age 年龄
     * @param file 文件
     * @return
     * */
    @Value("${aliyun.oss.endpoint}")
    private String endpoint;//阿里云OSS的域名
    @Value("${aliyun.oss.bucketName}")
    private String bucketName;//oss上的桶空间名
    @PostMapping("/upload")
    public Result upload(MultipartFile file) throws Exception {
        //  处理上传文件
        //1.获取原始文件名,截取后缀
        String originalFilename = file.getOriginalFilename();
        String extName = "--"+originalFilename;
        log.info("上传的内容:{}", originalFilename);
//        String randomID = UUID.randomUUID().toString();
//        String extName = randomID+originalFilename;
//        String extName = originalFilename.substring(originalFilename.lastIndexOf("."));//截取后缀
        //upload方法里已经自动生成了随机文件名
        //2.调用阿里云OSS工具类,将文件上传到oss
        Object URL = AliyunOSSUtils.upload(endpoint, bucketName, file.getBytes(), extName);
        //3.返回文件访问路径
        return Result.success(URL);
    }









    //测试代码
//    public Result upload(String username, Integer age, MultipartFile file) throws IOException {
//        //  处理上传文件
//        log.info("上传的内容:{} {} {}"+username, age, file);
//        //1.获取原始文件名
//        String originalFilename = file.getOriginalFilename();
//        //2.通过UUID生成团机字符中
//        String uuid = UUID.randomUUID().toString();
//        //3.将uuid拼接原始文件名
//        String fileName = uuid + originalFilename;
//        //4.将前端上传的文件存到本地
//        file.transferTo(new File("D:\\java_study\\java_WEB\\tlias-web-manager\\src\\main\\resources\\image\\" + fileName));
//        log.info("上传的文件保存在:{}", "D:\\java_study\\java_WEB\\tlias-web-manager\\src\\main\\resources\\image\\" + fileName);
//        return Result.success(fileName);
//    }
}
